The present invention relates to a method of executing data processing applications and to a storage medium on which such applications are stored. More specifically, the present invention relates to a method of data processing in which the data and the data processing applications are stored on a medium separate from the apparatus that executes the applications, such that the execution of the applications does not leave behind any modifications to the data storage means of the apparatus.
Personal Computers are most commonly used by single individuals. The individual user of a Personal Computer may install applications, modify the configuration of the applications and store application data on the Personal Computer. Even when a Personal Computer is used by several users, the use of the computer is restricted to a specified list of users, the applications are installed on the Personal Computer and the configuration and data used by each application are stored separately for each user. A personal computer often also has a generally usable but very restricted access method such as a “guest” account.
A growing number of computers are available to multiple users without the users being specified for the computer. These computers may be provided with general applications, but the users generally are not able to modify the configuration of the applications or permanently store application data on the computers. Examples of such general availability computers include computers allocated to employees at need, computers in Internet Cafés, computers in computer kiosks and computers located in publicly accessible facilities such as libraries, college campuses and airports.
General availability computers are mainly useful with network based applications such as web browsers, search engines and browser based applications such as mail clients. The use of such applications often is limited by a lack of available local storage, a need to transfer portions of the programs over a network instead of from local storage and the inability of the users to control access to their application data.
General availability computers are commonly configured to provide only minimal functionality to their users. For example, the users of a general availability computer typically are not allowed to install applications, modify application configurations or permanently store application data on the computer.
It is known to store an application on a portable storage medium and to operationally connect the medium to a computer that executes the application, such that there is no need to install the application permanently in the computer. One representative patent that teaches such a method of data processing, and that is incorporated by reference for all purposes as if fully set forth herein, is U.S. Pat. No. 6,117,186, to Wydall et al. Wydall et al. teach an application, stored on a CD-ROM disk, that is executed simply by inserting the CD-ROM disk into the CD-ROM drive of any computer.
Another representative patent that teaches such a method of data processing, and that is incorporated by reference for all purposes as if fully set forth herein, is U.S. Pat. No. 6,601,139, to Suzuki. Suzuki teaches a data processing system that includes a computer whose installed software is restricted to an operating system, and a set of storage media on which are stored specific applications. When one of the storage media is inserted into a drive of the computer, the computer becomes a single-purpose machine dedicated to the application stored on that storage medium. For example, if the application is a word processing application, the computer becomes a word processor.
Other relevant U.S. patents, all of which also are incorporated by reference for all purposes as if fully set forth herein, include U.S. Pat. No. 5,848,296 to Suzuki, U.S. Pat. No. 6,122,734 to Jeon and U.S. Pat. No. 6,470,413 to Ogawa.
One deficiency in the prior art methods of data processing, in the context of general availability computers, is that the executed applications do not “clean up after themselves”. After the execution of an application terminates, some of the data that the application wrote to the non-volatile memories (e.g., hard disk) of the host computer are still present in those memories. It is at least impolite for a user of a general availability computer not to clean up after him/herself. Furthermore, the data left behind can be retrieved by a sufficiently skilled subsequent user of the computer, and some of this data may be of a sensitive nature.
There is thus a widely recognized need for, and it would be highly advantageous to have, a method of executing a temporarily installed application on a general availability computer that leaves behind no residue of the execution.